<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Synaptics Touchpad driver.</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51 General Code Examples
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__nrf__drivers__synaptics__touchpad.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Synaptics Touchpad driver.</div>  </div>
<div class="ingroups"><a class="el" href="group__nrf__drivers.html">Drivers</a></div></div>
<div class="contents">

<p>Synaptics Touchpad driver.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga45323ee0dff39f598de4e6913ce06ef8">TOUCHPAD_INT_STATUS</a>&#160;&#160;&#160;0x14</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt status register.  <a href="#ga45323ee0dff39f598de4e6913ce06ef8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga31521894e811710e49d5d9bb9abcecb8"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_BUTTON_STATUS" ref="ga31521894e811710e49d5d9bb9abcecb8" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga31521894e811710e49d5d9bb9abcecb8">TOUCHPAD_BUTTON_STATUS</a>&#160;&#160;&#160;0x41</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Button status register. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab981111abcb9a726d0963a0ad9099de0"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_FINGER0_REL" ref="gab981111abcb9a726d0963a0ad9099de0" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gab981111abcb9a726d0963a0ad9099de0">TOUCHPAD_FINGER0_REL</a>&#160;&#160;&#160;0x30</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">First register in finger delta block. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga95556e3ba7e191db7a7c877501aa9a1d"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_GESTURE_FLAGS" ref="ga95556e3ba7e191db7a7c877501aa9a1d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga95556e3ba7e191db7a7c877501aa9a1d">TOUCHPAD_GESTURE_FLAGS</a>&#160;&#160;&#160;0x3A</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gesture flags 0. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga62a3433c5a8ef739a8f0520247c70efd"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_SCROLL" ref="ga62a3433c5a8ef739a8f0520247c70efd" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga62a3433c5a8ef739a8f0520247c70efd">TOUCHPAD_SCROLL</a>&#160;&#160;&#160;0x3F</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scroll zone X / horizontal multifinger scroll. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf5a2290d3919707171195ce78d02c091"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_CONTROL" ref="gaf5a2290d3919707171195ce78d02c091" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gaf5a2290d3919707171195ce78d02c091">TOUCHPAD_CONTROL</a>&#160;&#160;&#160;0x42</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Device control register. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf471db4675c021cc375b84815f2c3561"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_COMMAND" ref="gaf471db4675c021cc375b84815f2c3561" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gaf471db4675c021cc375b84815f2c3561">TOUCHPAD_COMMAND</a>&#160;&#160;&#160;0x8F</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Device command register. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga81cf02c11ea295d8110493005dd1babd"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_RESET" ref="ga81cf02c11ea295d8110493005dd1babd" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga81cf02c11ea295d8110493005dd1babd">TOUCHPAD_RESET</a>&#160;&#160;&#160;0x54</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of reset. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga40ad4ab55f47fb885452b74af1d61b06"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_PAGESELECT" ref="ga40ad4ab55f47fb885452b74af1d61b06" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga40ad4ab55f47fb885452b74af1d61b06">TOUCHPAD_PAGESELECT</a>&#160;&#160;&#160;0xFF</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of page select (can be found in every page at the same address) <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2fc2cf0bedd74903e7181acfe0df6941"></a><!-- doxytag: member="nrf_drivers_synaptics_touchpad::TOUCHPAD_PRODUCT_ID" ref="ga2fc2cf0bedd74903e7181acfe0df6941" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga2fc2cf0bedd74903e7181acfe0df6941">TOUCHPAD_PRODUCT_ID</a>&#160;&#160;&#160;0xA2</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Address of product ID string. <br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga330fdbd5e3557a42f4c73c445d0f7337">TouchpadSleepMode_t</a> { <a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gga330fdbd5e3557a42f4c73c445d0f7337a2529a190fc6b8b859b7248b35f83f391">SleepmodeNormal</a> =  0x00, 
<a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gga330fdbd5e3557a42f4c73c445d0f7337a689a10deefd36760eee23b59321bcadb">SleepmodeSensorSleep</a> =  0x01
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga56d2b2da22fd614a12dead51b86f5be8">touchpad_init</a> (uint8_t device_address)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Touchpad initialization.  <a href="#ga56d2b2da22fd614a12dead51b86f5be8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gac053ca9455c2ee583def58d2d826cd9c">touchpad_reset</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to soft-reset the device.  <a href="#gac053ca9455c2ee583def58d2d826cd9c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga22b2f1fbcc1c09d3fcb5dae98e7a7dd2">touchpad_interrupt_status_read</a> (uint8_t *interrupt_status)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the interrupt status register of the device. This clears all interrupts.  <a href="#ga22b2f1fbcc1c09d3fcb5dae98e7a7dd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gaeaf145b444000da6d332bf4f0333380c">touchpad_set_sleep_mode</a> (<a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga330fdbd5e3557a42f4c73c445d0f7337">TouchpadSleepMode_t</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep mode configuration.  <a href="#gaeaf145b444000da6d332bf4f0333380c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga517f43a4e4520713f69f14b38efc927b">touchpad_read_register</a> (uint8_t register_address, uint8_t *value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to read a touchpad register contents over TWI.  <a href="#ga517f43a4e4520713f69f14b38efc927b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#gad33761514312c640fc14e096069476b9">touchpad_write_register</a> (uint8_t register_address, uint8_t value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a touchpad register contents over TWI.  <a href="#gad33761514312c640fc14e096069476b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga32ff3519e36304ef6111a893730a22a8">touchpad_product_id_read</a> (uint8_t *product_id, uint8_t product_id_bytes)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes touchpad register contents over TWI. Writes one or more consecutive registers.  <a href="#ga32ff3519e36304ef6111a893730a22a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga64efe8dc563464be3110e139729c663b">touchpad_product_id_verify</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads and verifies touchpad's product ID.  <a href="#ga64efe8dc563464be3110e139729c663b"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Synaptics Touchpad driver. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga45323ee0dff39f598de4e6913ce06ef8"></a><!-- doxytag: member="synaptics_touchpad.h::TOUCHPAD_INT_STATUS" ref="ga45323ee0dff39f598de4e6913ce06ef8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TOUCHPAD_INT_STATUS&#160;&#160;&#160;0x14</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Interrupt status register. </p>
<p>Touchpad register addresses. </p>

<p>Definition at line <a class="el" href="synaptics__touchpad_8h_source.html#l00034">34</a> of file <a class="el" href="synaptics__touchpad_8h_source.html">synaptics_touchpad.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga330fdbd5e3557a42f4c73c445d0f7337"></a><!-- doxytag: member="synaptics_touchpad.h::TouchpadSleepMode_t" ref="ga330fdbd5e3557a42f4c73c445d0f7337" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga330fdbd5e3557a42f4c73c445d0f7337">TouchpadSleepMode_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Operational states </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga330fdbd5e3557a42f4c73c445d0f7337a2529a190fc6b8b859b7248b35f83f391"></a><!-- doxytag: member="SleepmodeNormal" ref="gga330fdbd5e3557a42f4c73c445d0f7337a2529a190fc6b8b859b7248b35f83f391" args="" -->SleepmodeNormal</em>&nbsp;</td><td>
<p>Normal operation. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga330fdbd5e3557a42f4c73c445d0f7337a689a10deefd36760eee23b59321bcadb"></a><!-- doxytag: member="SleepmodeSensorSleep" ref="gga330fdbd5e3557a42f4c73c445d0f7337a689a10deefd36760eee23b59321bcadb" args="" -->SleepmodeSensorSleep</em>&nbsp;</td><td>
<p>Low power operation. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8h_source.html#l00049">49</a> of file <a class="el" href="synaptics__touchpad_8h_source.html">synaptics_touchpad.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga56d2b2da22fd614a12dead51b86f5be8"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_init" ref="ga56d2b2da22fd614a12dead51b86f5be8" args="(uint8_t device_address)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_init </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>device_address</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Touchpad initialization. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">device_address</td><td>TWI address of the device in bits [6:0] </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Touchpad was successfully identified and initialized </td></tr>
    <tr><td class="paramname">false</td><td>Unexpected product ID or communication failure </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00026">26</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
<a class="anchor" id="gac053ca9455c2ee583def58d2d826cd9c"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_reset" ref="gac053ca9455c2ee583def58d2d826cd9c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_reset </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Attempts to soft-reset the device. </p>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Reset succeeded </td></tr>
    <tr><td class="paramname">false</td><td>Reset failed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00063">63</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga22b2f1fbcc1c09d3fcb5dae98e7a7dd2"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_interrupt_status_read" ref="ga22b2f1fbcc1c09d3fcb5dae98e7a7dd2" args="(uint8_t *interrupt_status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_interrupt_status_read </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>interrupt_status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads the interrupt status register of the device. This clears all interrupts. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">interrupt_status</td><td>Address to store interrupt status to. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Register contents read successfully to interrupt_status </td></tr>
    <tr><td class="paramname">false</td><td>Reading failed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00070">70</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaeaf145b444000da6d332bf4f0333380c"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_set_sleep_mode" ref="gaeaf145b444000da6d332bf4f0333380c" args="(TouchpadSleepMode_t mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_set_sleep_mode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nrf__drivers__synaptics__touchpad.html#ga330fdbd5e3557a42f4c73c445d0f7337">TouchpadSleepMode_t</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sleep mode configuration. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>In low power mode the touchpad do not generate interrupts from touch sensing. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Operational mode </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Sleep mode set successfully </td></tr>
    <tr><td class="paramname">false</td><td>Sleep mode setting failed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00075">75</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga517f43a4e4520713f69f14b38efc927b"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_read_register" ref="ga517f43a4e4520713f69f14b38efc927b" args="(uint8_t register_address, uint8_t *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_read_register </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>register_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Function to read a touchpad register contents over TWI. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">register_address</td><td>Register address </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">value</td><td>Pointer to a data buffer where read data will be stored </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Register read succeeded </td></tr>
    <tr><td class="paramname">false</td><td>Register read failed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00080">80</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
<a class="anchor" id="gad33761514312c640fc14e096069476b9"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_write_register" ref="gad33761514312c640fc14e096069476b9" args="(uint8_t register_address, uint8_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_write_register </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>register_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes a touchpad register contents over TWI. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">register_address</td><td>Register address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to write to register </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Register write succeeded </td></tr>
    <tr><td class="paramname">false</td><td>Register write failed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00091">91</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga32ff3519e36304ef6111a893730a22a8"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_product_id_read" ref="ga32ff3519e36304ef6111a893730a22a8" args="(uint8_t *product_id, uint8_t product_id_bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_product_id_read </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>product_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>product_id_bytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes touchpad register contents over TWI. Writes one or more consecutive registers. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">product_id</td><td>Pointer to a address to store product ID. Memory must be allocated for product_id_bytes number of bytes. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">product_id_bytes</td><td>Number of bytes to read </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Product ID read succeeded </td></tr>
    <tr><td class="paramname">false</td><td>Product ID read failed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00100">100</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga64efe8dc563464be3110e139729c663b"></a><!-- doxytag: member="synaptics_touchpad.h::touchpad_product_id_verify" ref="ga64efe8dc563464be3110e139729c663b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool touchpad_product_id_verify </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads and verifies touchpad's product ID. </p>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>Product ID is what was expected </td></tr>
    <tr><td class="paramname">false</td><td>Product ID was not what was expected </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="synaptics__touchpad_8c_source.html#l00046">46</a> of file <a class="el" href="synaptics__touchpad_8c_source.html">synaptics_touchpad.c</a>.</p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
